Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Food processor can be used to remove carpotoxin and acidic blood with master domestic skill #5577

Merged
merged 12 commits into from
Feb 21, 2024

Conversation

LaylaMcC
Copy link
Contributor

@LaylaMcC LaylaMcC commented Jan 28, 2024

About the pull request

This PR makes it so that characters with master level domestic skill are able to remove carpotoxin and acidic blood from carp fillets and xenomeat. Xenomeat, carp fillets and recipes including those have had their levels adjusted to avoid adding additional carpotoxin/xenoblood when creating a recipe so a processed ingredient won't result in a dangerous recipe.

I've tested this using characters with and without the skill with flour, potatoes, xenomeat and carp fillets to ensure that only the affected processor uses are changed, that processing works correctly and that the skill is required.

Explain why it's good for the game

This would open more opportunities for the mess technician to serve the crew with recipes that rarely see the light of day due to being dangerous (while leaving some risk if an MST forgets to process the ingredients). Some marine players might also enjoy the roleplay opportunities around getting the chef to turn their fallen enemies into burgers.

Testing Photographs and Procedure

Screenshots & Videos

Here is shown a character with insufficient skill unable to modify the food, before putting it in the soda fountain to show its reagents:
https://github.com/cmss13-devs/cmss13/assets/32908370/8138d1c5-77a2-4f7d-92e9-9d7059fa3f05

Here is shown a character with sufficient the skill able to modify the food, before putting it in the soda fountain to show its reagents:
https://github.com/cmss13-devs/cmss13/assets/32908370/93bb0c99-fccf-46ca-a786-579be203629b

Changelog

🆑
add: Increased levels of acidic blood and carpotoxin in xenomeat and carp fillets.
del: Xenomeat and carp fillet-based recipes no longer add additional acidic blood or carpotoxin.
qol: Master level domestic skill allows the use of the food processor to remove acidic blood and carpotoxin from xenomeat and carp fillets.
fix: Turning named pieces of human meat into meatballs will retain the human's name.
/:cl:

Characters with master domestic skill (currently MST and synthetic) can process carp and xenomeat to remove carpotoxin and acidic blood.
To accompany the processor ability to remove carpotoxin, all carpotoxin is present in carp fillets rather than carp fillets with extra added in recipes.
To accompany the processor ability to remove acidic blood, all acidic blood is present in xenomeat rather than xenomeat with extra added in recipes.
@github-actions github-actions bot added Feature Feature coder badge Removal snap Quality of Life Make the game harder to play labels Jan 28, 2024
@BeagleGaming1
Copy link
Contributor

Why have the unique typechecking in it? why not have the output lead to a processed variant with all your wanted changes in it, instead of modifying a copy of the original

The process proc now uses the made_from_player variable to discern if a name change is necessary. Additionally, the recipes now refer to new types to avoid changing reagents in process.
@LaylaMcC
Copy link
Contributor Author

Why have the unique typechecking in it? why not have the output lead to a processed variant with all your wanted changes in it, instead of modifying a copy of the original

Sorry; it's been a fair while since I last touched DM. Yeah, that's a good shout. I've redone it to refer to processed versions in the recipes. Rather than checking istype, it'll look for the made_from_player variable to carry the name (which has the added benefit of keeping a person's name for meatballs made in the processor, which in turn affects meatball derived recipes).

Thank you for pointing that out. Is there a more efficient way I could be checking for the variable I'm looking for now?

code/game/machinery/kitchen/processor.dm Outdated Show resolved Hide resolved
@harryob harryob marked this pull request as draft January 30, 2024 12:48
@LaylaMcC LaylaMcC requested a review from harryob February 3, 2024 05:34
@LaylaMcC LaylaMcC marked this pull request as ready for review February 9, 2024 04:00
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Feb 18, 2024
Copy link
Member

@SabreML SabreML left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello! Sorry for the delay.
Just a couple of things:

code/game/machinery/kitchen/processor.dm Outdated Show resolved Hide resolved
code/game/objects/items/reagent_containers/food/snacks.dm Outdated Show resolved Hide resolved
src.bitesize = 6

/obj/item/reagent_container/food/snacks/meat/xenomeat/processed
name = "meat"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to check: did you want to change the name of this to "processed meat" like on the carp fillet, or have only the description be different?

Copy link
Contributor Author

@LaylaMcC LaylaMcC Feb 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure of an elegant way to have it called processed NAME meat (e.g. processed Queen meat) so opted to just have it as NAME meat, which is handled in process (which, as an added bonus, will keep a person's name if they get turned into meatballs). To my ears, "NAME processed meat" feels off but happy to take that approach if it'd be better.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm.. It could be done by refactoring how the made_from_player variable is handled, but that might be out of the scope of the PR.
Either way, this works fine as it is now IMO. 👍

@SabreML SabreML removed the Stale beg a maintainer to review your PR label Feb 20, 2024
@SabreML SabreML dismissed harryob’s stale review February 21, 2024 09:41

Requested change implemented

@SabreML SabreML added this pull request to the merge queue Feb 21, 2024
Merged via the queue into cmss13-devs:master with commit 81e95e1 Feb 21, 2024
26 checks passed
cm13-github added a commit that referenced this pull request Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Feature coder badge Quality of Life Make the game harder to play Removal snap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants